<?php require_once(BASEPATH.'application/controllers/validaciones.php');
//antip
class antip extends validaciones {

	function antip(){
		parent::Controller();
		$this->load->library('rapyd');
		$this->load->library('Cuenta');
	}
    function index(){
        
		redirect('finanzas/antip/filteredgrid');
	}
	function filteredgrid($tipo) {
		
         $this->rapyd->load('datagrid2','datafilter');

		$atts = array(
			'width'      => '800',
			'height'     => '600',
			'scrollbars' => 'yes',
			'status'     => 'yes',
			'resizable'  => 'yes',
			'screenx'    => '0',
			'screeny'    => '0'
		);

		$modbus=array(
			'tabla'   =>'sprv',
			'columnas'=>array(
			'proveed' =>'C&oacute;digo Proveedor',
			'nombre'=>'Nombre',
			'rif'=>'RIF'),
			'filtro'  =>array('proveed'=>'C&oacute;digo Proveedor','nombre'=>'Nombre'),
			'retornar'=>array('proveed'=>'proveed'),
			'titulo'  =>'Buscar Proveedor');

		$boton=$this->datasis->modbus($modbus);
        
        $this->rapyd->uri->keep_persistence();
        
		$filter = new DataFilter('B&uacute;squeda de Anticipos');
		$select=array('rein','cuenta_ori','b.descrip as banco','(monto-aplica) resta','a.tipo',  'serie',  'numero', 'proveed',  'nombre',  'rif',  'fecha',  'monto',  'aplica',  'formap',  'referen', 'a.moneda', 'id'); 
		$filter->db->select($select);
		$filter->db->from("itppro AS a");
		$filter->db->join("bancos AS b",'a.serie=b.codigo');
		$filter->db->where("a.tipo in ('$tipo')");

		$filter->fechad = new dateonlyField('Desde', 'fechad','d/m/Y');
		$filter->fechah = new dateonlyField('Hasta', 'fechah','d/m/Y');
		$filter->fechad->clause  =$filter->fechah->clause ='where';
		$filter->fechad->db_name =$filter->fechah->db_name='fecha';
		$filter->fechah->size=$filter->fechad->size=10;
		$filter->fechad->operator='>=';
		$filter->fechah->operator='<=';

		$filter->numero = new inputField('N&uacute;mero', 'a.numero');
		$filter->numero->size=20;

		$filter->proveedor = new inputField('Proveedor','proveed');
		$filter->proveedor->append($boton);
		$filter->proveedor->size=20;
				        
        $filter->banco = new dropdownField("Banco", "serie");
		$filter->banco->style='width:250px;';
        $filter->banco->option("","Todos");
		$filter->banco->options("SELECT codigo, descrip FROM bancos ORDER BY codigo" );
		
		$filter->moneda = new dropdownField("Moneda", "a.moneda");
		$filter->moneda->style='width:250px;';
		$filter->moneda->option("","Todas las monedas" );
		$filter->moneda->options("SELECT codigo,descrip FROM moneda ORDER BY codigo");
        
        //$filter->tipo2 = new  dropdownField ('Tipo de Documento', 'tipo');
        //$filter->tipo2->db_name='a.tipo';
        //$filter->tipo2->option("","Todos" );
        //$filter->tipo2->option('AN',"ANTICIPO DE PROVEEDOR");
		//$filter->tipo2->option('EC',"ENTREGAS A RENDIR CUENTA");
		////$filter->tipo2->option('AP',"ADELANTO DE PLANILLAS");
        ////$filter->tipo2->option('PP',"PRESTAMOS PERSONAL");
        ////$filter->tipo2->option("AB","PAGO DE PROVEEDOR");
		//$filter->tipo2->style='width:250px;'; 

		$filter->buttons('reset','search');
		$filter->build();
		
		function accion($resta,$serie,$numero,$id){
			
			IF($resta>0){
				$uri = anchor("finanzas/antip/dataedit/modify/$id","Aplicar Proveedor");
				return  ($uri);
			}else{
				
				return 	("MONTO APLICADO");
			}
		}


		$grid = new DataGrid2();
		$grid->order_by('id','desc');
		$grid->use_function('accion');
		$grid->per_page = 10;
          
        $uri = anchor("finanzas/antip/dataedit/show/<#id#>","G<#serie#><#numero#>");
        
        $uri_2  = anchor_popup('formatos/ver/PAGO/<#tipo#>/<#serie#>/<#numero#>',img(array('src'=>'images/pdf_logo.gif','border'=>'0','alt'=>'Ver Html','height'=>'15','title'=>'Ver Html')),$atts);
		$uri_2 .= anchor_popup("formatos/verhtml/PAGO/<#tipo#>/<#serie#>/<#numero#>",img(array('src'=>'images/html_icon.gif','border'=>'0','alt'=>'Ver Pdf','height'=>'15','title'=>'Ver Pdf')),$atts);
					        
        $grid->column('Acci&oacute;n',$uri_2,"align='center'");
        
        $grid->column('N&uacute;mero'       ,$uri);
        $grid->column('Tipo'                ,"tipo");
        $grid->column("Origen"               ,"cuenta_ori","cuenta_ori"  ,"align='left'");
        $grid->column("Banco"               ,"banco","banco"  ,"align='left'");
        $grid->column("Moneda"              ,"moneda","moneda"  ,"align='center'");
        $grid->column_orderby('Fecha'         ,'<dbdate_to_human><#fecha#></dbdate_to_human>'  ,'fecha'  );
        $grid->column('Proveedor','proveed');
		$grid->column('Nombre'  ,'nombre');
		$grid->column('Monto'   ,'<nformat><#monto#></nformat>','align=\'right\'');
		$grid->column('Monto Aplicado'      ,'<nformat><#aplica#></nformat>','align=\'right\'');
		$grid->column('Monto sin Aplicar'   ,'<nformat><#resta#></nformat>','align=\'right\'');
        //$grid->column('Reintegros'          ,'<nformat><#rein#></nformat>','align=\'right\'');

		$grid->totalizar('monto','aplica','resta');
		$grid->add('finanzas/antip/dataedit/create/','Nuevo Registro');
		
		$grid->build('datagridST');
		//echo $grid->db->last_query();
		
		$style ='
		<style type="text/css">
		.fakeContainer { /* The parent container */
		    margin: 5px;
		    padding: 0px;
		    border: none;
		    width: 1200px; /* Required to set */
		    height: 500px; /* Required to set */
		    overflow: hidden; /* Required to set */
		}
		</style>	
		';

		$data['style']   = $style;
		$data['style']  .= style('superTables.css');
        
		$data['content'] = $grid->output;
		$data['filtro']  = $filter->output;
		$data['tabla']  = "";
		
		$data['head']    = $this->rapyd->get_head();
		$data['title'] = heading('Anticipos de Pagos Realizados');
		$this->load->view('view_ventanas', $data);
	}
	function dataedit(){
        
		$this->rapyd->load('dataobject','datadetails');
		
		$this->db->query("DROP TABLE IF EXISTS sprv2");
		$this->db->query("CREATE TABLE sprv2 SELECT * FROM sprv");
		
		$modbus_sprv=array(
			'tabla'   =>'sprv',
			'columnas'=>array(
                'proveed' =>'C&oacute;digo Proveedor',
                'nombre'=>'Nombre',
                'rif'=>'RIF'),
			'filtro'  =>array('proveed'=>'C&oacute;digo Proveedor','nombre'=>'Nombre'),
			'retornar'=>array(
                'proveed'=>'proveed',
                'rif'=>'rif',
                'nombre'=>'nombre'),
                'p_uri'   => array(4=>'<#i#>'),
			'titulo'  =>'Buscar Proveedor');

		$boton=$this->datasis->p_modbus($modbus_sprv);
		
		$modbus_sprv2=array(
			'tabla'   =>'sprv2',
			'columnas'=>array(
                'proveed' =>'C&oacute;digo Proveedor',
                'nombre'=>'Nombre',
                'rif'=>'RIF'),
			'filtro'  =>array('proveed'=>'C&oacute;digo Proveedor','nombre'=>'Nombre'),
			'retornar'=>array(
                'proveed'=>'proveed_des',
                'rif'=>'rif_des',
                'nombre'=>'nombre_des'),
                'p_uri'   => array(4=>'<#i#>'),
			'titulo'  =>'Buscar Proveedor');

		$boton2=$this->datasis->p_modbus($modbus_sprv2);
				
		$link=site_url('common/numegreso/');
		
		$script ='
		$(function() {
			$(".inputnum").numeric(".");
		});
		
		function numegreso(){
	
	seriei    = $("#serie").val();
	$.ajax({
		url: "'.$link.'"+"/"+seriei,
		success: function(msg){
			if(msg){
				$("#numero").val(msg);
			} else {
				alert("No es posible generar un numero");
			}
		}
	});
}
		';

        
        $do = new DataObject('itppro');
		$do->rel_one_to_many('itpprot', 'itpprot', 'id');
				
		$edit = new DataDetails('Nuevo Registro', $do);
		
		if($edit->_status=='show'){
			$tipo=$edit->_dataobject->get("tipo");
			$edit->back_url = site_url("finanzas/antip/filteredgrid/$tipo");
		}else{
			$edit->back_url = site_url('finanzas/antip/filteredgrid/AN');
		}
		
		$edit->set_rel_title('itpprot','Cuenta <#o#>');
                
        $modbus=array(
			'tabla'   =>'cpla',
			'columnas'=>array(
				'cuenta'  =>'Cuenta',
				'descrip' =>'Descripci&oacute;n',
				'ajuste'  => 'Llevar Ajuste',
				'contrapartida'  => 'Contrapartida',
				'clase'  => 'Clase',
				'costo'  => 'Costo',
				'tercero'  => 'Tercero',
				'extranjeria'  => 'Extranjeria'
				),
			'filtro'  =>array('cuenta'  =>'Cuenta','descrip'=>'Descripci&oacute;n'),
			'retornar'=>array(
				'cuenta' =>'cuenta_ori'),
			'p_uri'   => array(4=>'<#i#>'),
			'titulo'  => 'Buscar Cuenta'
		);
		$btn=$this->datasis->p_modbus($modbus);
        
        $edit->script($script, "create");
		$edit->script($script, "modify");
                
		$edit->pre_process('insert' ,'_pre_insert');
		$edit->post_process('insert','_post_insert');
        $edit->pre_process('delete' ,'_pre_delete');
		
		$edit->id = new hiddenField(" ", 'id');
		$edit->tipo = new hiddenField(" ", 'tipo');
		
		$edit->serie = new dropdownField("Comprobante", "serie");
		$edit->serie->options("SELECT codigo, CONCAT_WS('-',codigo,descrip) AS descrip FROM serieg ORDER BY codigo");
		$edit->serie->rule= "required";
        $edit->serie->style='width:200px;';
        $edit->serie->onchange = "numegreso();";
        $edit->serie->mode="autohide";
        
        $edit->tipo2 = new  dropdownField ('Tipo de Documento', 'tipo2');
        $edit->tipo2->db_name='tipo';
        $edit->tipo2->option('AN',"ANTICIPO DE PROVEEDOR");
		$edit->tipo2->option('CH',"CAJA CHICA");
		$edit->tipo2->option('EC',"ENTREGAS A RENDIR CUENTA");
        //$edit->tipo2->option('PP',"PRESTAMOS PERSONAL");
        //$edit->tipo2->option("AB","PAGO DE PROVEEDOR");
        //$edit->tipo2->mode="autohide";
		$edit->tipo2->style='width:260px;'; 
		
		$edit->proveed_des = new inputField("C&oacute;digo para Cheque", "proveed_des");
		$edit->proveed_des->size = 7;
		$edit->proveed_des->maxlength=5;
        $edit->proveed_des->append($boton2);
        $edit->proveed_des->rule= "required";
        $edit->proveed_des->readonly  = true;
        $edit->proveed_des->mode="autohide";
		
		$edit->nombre_des = new inputField("Nombre ", "nombre_des");
		$edit->nombre_des->size =  40;
		$edit->nombre_des->maxlength=80;
        $edit->nombre_des->readonly  = true;
        $edit->nombre_des->mode="autohide";
    
		$edit->rif_des = new inputField("RUC", "rif_des");
		$edit->rif_des->size =  20;
		$edit->rif_des->maxlength=20; 
        $edit->rif_des->readonly  = true;
        $edit->rif_des->mode="autohide";
		
		$edit->planillas = new dropdownField("Pago de planillas", "planillas");
		$edit->planillas->option("N",'No');
        $edit->planillas->option("S",'Si');
		$edit->planillas->rule= "required";
        $edit->planillas->style='width:260px;';
        $edit->planillas->mode="autohide";
        
        $edit->cajachica = new  dropdownField ('Caja Chica','cajachica');
        $edit->cajachica->option('N','No esta relacionado con caja chica');
        $edit->cajachica->option('S','Si esta relacionado con caja chica');
        $edit->cajachica->style='width:260px;';
		$edit->cajachica->mode="autohide";
        
        $edit->detraccion = new  dropdownField ('Detracci&oacute;n','detraccion');
        $edit->detraccion->option('N','No es un pago por detracci&oacute;n');
        $edit->detraccion->option('S','Si es un pago por detracci&oacute;n');
        $edit->detraccion->style='width:260px;';
		$edit->detraccion->mode="autohide";
		        
        $edit->fecha = new DateonlyField("Fecha de Pago", "fecha","Y-m-d");
		$edit->fecha->insertValue = date("Y-m-d");
        $edit->fecha->rule= "required";
        $edit->fecha->mode="autohide";
		$edit->fecha->size = 10;
		$edit->fecha->rule= "callback_cambio";
        
        $edit->fechac = new DateonlyField("Fecha de Cambio", "fechac","Y-m-d");
		$edit->fechac->insertValue = date("Y-m-d");
        $edit->fechac->rule= "required";
		$edit->fechac->size = 10;
        $edit->fechac->mode="autohide";
		//$edit->fechac->rule= "callback_cambio";
        
        $edit->fechal = new DateonlyField("Fecha de Comprobante", "fechal","Y-m-d");
		$edit->fechal->insertValue = date("Y-m-d");
        $edit->fechal->rule= "required";
		$edit->fechal->size = 10;
        $edit->fechal->when=array('show');
        $edit->fechal->rule= "callback_cambio";
                
		$edit->numero = new inputField("N&uacute;mero", "numero");
		$edit->numero->size = 12;
		//$edit->numero->rule= "required";
        $edit->numero->css_class ='inputnum';
		$edit->numero->maxlength=11;
		$edit->numero->mode="autohide";
		$edit->numero->in="serie";
		$edit->numero->rule= "callback_chexiste";
		//$edit->numero->when=array('show','modify');
        
        $tipo=$edit->_dataobject->get("tipo");

        $edit->cuenta_ori = new inputField('Origen del fondo', 'cuenta_ori');
        $edit->cuenta_ori->size     = 12;
        //$edit->cuenta_ori->mode="autohide";
        $edit->cuenta_ori->append($btn);
        $edit->cuenta_ori->rule = "required";
                
        $edit->proveed = new inputField("C&oacute;digo Afectado", "proveed");
		$edit->proveed->size = 7;
		$edit->proveed->maxlength=5;
        $edit->proveed->append($boton);
        $edit->proveed->rule= "required";
        $edit->proveed->readonly  = true;
        $edit->proveed->mode="autohide";
		
		$edit->nombre = new inputField("Nombre", "nombre");
		$edit->nombre->size =  40;
		$edit->nombre->maxlength=80;
        $edit->nombre->readonly  = true;
        $edit->nombre->mode="autohide";
    
		$edit->rif = new inputField("RUC", "rif");
		$edit->rif->size =  20;
		$edit->rif->maxlength=20; 
        $edit->rif->readonly  = true;
        $edit->rif->mode="autohide";		
        
        $edit->cuenta2 = new inputField('Cuenta', 'cuenta');
		$edit->cuenta2->size     = 12;
		$edit->cuenta2->rule     = 'required';
        $edit->cuenta2->mode="autohide";
        $edit->cuenta2->when=array('show');
		$edit->cuenta2->readonly  =true;
                
        $edit->ccosto = new  dropdownField ('Centro de Costo', 'ccosto');
        $edit->ccosto->option("0001","ADMINISTRACI&Oacute;N");
		$edit->ccosto->option('0002',"OPERACI&Oacute;N");
		$edit->ccosto->option('0003','IMPORTACI&Oacute;N'); 
		$edit->ccosto->mode="autohide";
		$edit->ccosto->style='width:200px;';  
		
		$edit->formap = new dropdownField("Medio de Pago", "formap");
		$edit->formap->style='width:200px;';
		$edit->formap->options("SELECT formap,nombre FROM formap ORDER BY formap");
		$edit->formap->mode="autohide";
      
        $edit->moneda = new dropdownField("Moneda", "moneda");
		$edit->moneda->style='width:230px;';
		$edit->moneda->option("","Seleccione la moneda" );
		$edit->moneda->options("SELECT codigo,descrip FROM moneda ORDER BY codigo");
		$edit->moneda->rule = 'required';
		$edit->moneda->when=array('show','modify');
		$edit->moneda->mode="autohide";
      
		$edit->cambio = new inputField('Cambio', 'cambio');
		$edit->cambio->when=array('show','modify');
		$edit->cambio->mode="autohide";

		$edit->referen = new inputField('N&uacute;mero de Operaci&oacute;n', 'referen');
		$edit->referen->css_class ='inputnum';
		$edit->referen->size      = 20; 
		$edit->referen->rule = 'required';
		$edit->referen->mode="autohide";
        
		$edit->aplica = new inputField('Monto Aplicado', 'aplica');
		$edit->aplica->size = 10;
		$edit->aplica->maxlength=15;
		$edit->aplica->mode="autohide";
		$edit->aplica->css_class ='inputnum';
		$edit->aplica->when=array('show','modify');
		
		$edit->monto = new inputField('Monto de Anticipo', 'monto');
		$edit->monto->size = 10;
		$edit->monto->maxlength=15;
		$edit->monto->css_class ='inputnum';
        $edit->monto->mode="autohide";
		
		//$edit->montob = new inputField('Ingreso al Banco', 'montob');
		//$edit->montob->css_class ='inputnum';
		//$edit->montob->readonly  =true;
		//$edit->montob->size      = 10;
		//$edit->montob->when=array('modify','show');
			        				    			        				    
        $edit->condi1 = new inputField('Observaci&oacute;n', 'condi1');
		$edit->condi1->size =60;
		$edit->condi1->maxlength=50;
		//$edit->condi1->mode="autohide";
		$edit->condi1->rule = "required|strtoupper";
	  
		$edit->usuario = new autoUpdateField('usuario',$this->session->userdata('usuario'),$this->session->userdata('usuario'));
                   
        //**************************
		//  Campos para el detalle
		//**************************
                    
        $edit->idt = new inputField('Idt <#o#>', 'idt_<#i#>');
		$edit->idt->db_name='idt';
		$edit->idt->rel_id='itpprot';
		$edit->idt->rule = 'strtoupper';
		$edit->idt->size    = 35;
        $edit->idt->when=array('show');
        
		$edit->docu = new dropdownField('Documento <#o#>', 'docu_<#i#>');
		$edit->docu->db_name  = 'docu';
		$edit->docu->options("SELECT codigo,descrip FROM tpagos");
		$edit->docu->rel_id   = 'itpprot';
		$edit->docu->style    = 'width:100%';
		$edit->docu->when=array('show');
		
		$edit->cuenta = new inputField('Cuenta <#o#>', 'cuenta_<#i#>');
		$edit->cuenta->size     = 12;
		$edit->cuenta->maxlength= 10;
		$edit->cuenta->readonly  = true;
		$edit->cuenta->db_name  = 'cuenta';
		$edit->cuenta->rel_id   = 'itpprot';
        $edit->cuenta->when=array('show');
		//$edit->cuenta->append($btn);

		$edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
		$edit->desca->db_name='desca';
		$edit->desca->rel_id='itpprot';
		$edit->desca->rule = 'strtoupper';
		$edit->desca->size    = 35;
        $edit->desca->when=array('show');
		
		$edit->ruc = new inputField('RUC <#o#>', 'ruc_<#i#>');
		$edit->ruc->db_name='ruc';
		$edit->ruc->rel_id='itpprot';
		$edit->ruc->rule = 'strtoupper';
		$edit->ruc->size    = 11;
		$edit->ruc->maxlength= 11;
        $edit->ruc->when=array('show');
		
		$edit->tipo = new dropdownField('Tipo <#o#>', 'tipo_<#i#>');
		$edit->tipo->db_name  = 'tipo';
		$edit->tipo->option("","");
		$edit->tipo->option("D","D");
		$edit->tipo->option("C","C");
		$edit->tipo->rel_id   = 'itpprot';
		$edit->tipo->rule     = 'positive';
		$edit->tipo->autocomplete=false;
		$edit->tipo->onchange ='importe(<#i#>)';
		$edit->tipo->style    = 'width:100%';
        $edit->tipo->when=array('show');
		
		$edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>');
		$edit->importe->db_name='importe';
		$edit->importe->size=12;
		//$edit->importe->readonly=true;
        //$edit->importe->rule = 'required';
		$edit->importe->css_class='inputnum';
		$edit->importe->rel_id   ='itpprot';
		$edit->importe->onkeyup  ='importe(<#i#>)';
        $edit->importe->when=array('show');
		
		$edit->creditos = new inputField('creditos <#o#>', 'creditos_<#i#>');
		$edit->creditos->db_name='creditos';
		$edit->creditos->size=12;
		$edit->creditos->css_class='inputnum';
		$edit->creditos->rel_id   ='itpprot';
		$edit->creditos->readonly=true;
		$edit->creditos->onkeyup  ='importe(<#i#>)';
        $edit->creditos->when=array('show');
         
        $moneda=$edit->_dataobject->get("moneda");
		$proveed=$edit->_dataobject->get("proveed");
		$monto=$edit->_dataobject->get("monto");
		$id=$edit->_dataobject->get("id");
        $planillas=$edit->_dataobject->get("planillas");
        $tipo=$edit->_dataobject->get("tipo");
        $this->db->query("DELETE FROM itpprot where id='$id' and importe=0");
        $aplica=$edit->_dataobject->get("aplica");
        
        IF($edit->_status=='show'){
			
			 $sind=$this->datasis->dameval("SELECT sum(importe) FROM  itpprot WHERE id='$id'");
			 $abono=$this->datasis->dameval("SELECT abono FROM itpagos WHERE id_rein='$id'");
			 if($moneda=='01'){
			 $aplica=$this->datasis->dameval("SELECT sum(cmontos) FROM  relacion WHERE itppro='$id'");
			 }else{
			 $aplica=$this->datasis->dameval("SELECT sum(cmontod) FROM  relacion WHERE itppro='$id'");
			 }
			 $tot=$aplica+$abono+$sind;
             $this->db->query("update itppro set aplica=$tot where id='$id'");
            
            IF(($tipo=='AN')||($tipo=='EC')){
                
                $accion="javascript:window.location='".site_url("finanzas/antip/aplica/create/$id")."'";  
                $edit->button_status('btn_cargar','Aplicar a Proveedor',$accion,'BR','show');
            
                $accion="javascript:window.location='".site_url("finanzas/antip/aplicat/create/$id")."'";  
                $edit->button_status('btn_cargar','Aplicar a Varios',$accion,'BR','show');
                
                //$accion="javascript:window.location='".site_url("finanzas/antip/aplical/create/$id")."'";  
                //$edit->button_status('btn_cargar','Aplicar a Letras',$accion,'BR','show');
            }else{
              
              IF($tipo=='CH'){
                  
                $accion="javascript:window.location='".site_url("finanzas/antip/aplicach/create/$id")."'";  
                $edit->button_status('btn_cargar','Aplicar a Caja chica',$accion,'BR','show');
            
                $accion="javascript:window.location='".site_url("finanzas/antip/aplicat/create/$id")."'";  
                $edit->button_status('btn_cargar','Aplicar a Varios',$accion,'BR','show'); 
              
              }  
   
            }
            
            $accion="javascript:window.location='".site_url("finanzas/antip/reintegro/modify/$id")."'";  
            $edit->button_status('btn_cargar','Reintegro',$accion,'BR','show');
    
        }
        
        IF($aplica>0){
			$edit->buttons('save','undo','back');
		}else{
			if($edit->_status=='show'){
			$edit->buttons("save", "undo", "back",'modify','delete','add_rel');
			}else{
			$edit->buttons("save", "undo", "back",'modify');	
			}
		}
        	
        $edit->build();
        		
		$data['content'] = $edit->output;
		$data['style']  = style('redmond/jquery-ui-1.8.1.custom.css');
		
		$data['script']  = script('jquery.js');
		$data['script'] .= script('jquery-ui.js');
		$data['script'] .= script('plugins/jquery.numeric.pack.js');
		$data['script'] .= script('plugins/jquery.floatnumber.js');
		$data['script'] .= script('plugins/jquery.autocomplete.js');
		$data['script'] .= script('nformat.js');
		$data['head']    = $this->rapyd->get_head();
        
		$tipo =$edit->_dataobject->get('tipo');
        	
		switch ($tipo){
			
		case 'AB':
			$data['title']   = heading('Pago de Proveedor G'.$edit->serie->value.'-'.$edit->numero->value." por $monto");
			break; 
		
		case 'AN':
			$data['title']   = heading("Anticipo Proveedor G".$edit->serie->value.'-'.$edit->numero->value." por $monto");	
			break;
            
        case 'AP':
			$data['title']   = heading("Anticipo de Planilla G".$edit->serie->value.'-'.$edit->numero->value." por $monto");	
			break;
            
        case 'EC':
			$data['title']   = heading("Entregas a Rendir Cuenta G".$edit->serie->value.'-'.$edit->numero->value." por $monto");	
			break;
        
        case 'PP':
			$data['title']   = heading("Prestamos Personal G".$edit->serie->value.'-'.$edit->numero->value." por $monto");	
			break;
        
        case 'AR':
			$data['title']   = heading("Ajuste por Rendondeo G".$edit->serie->value.'-'.$edit->numero->value." por $monto");	
			break;
            
        case 'CH':
			$data['title']   = heading("Caja Chica G".$edit->serie->value.'-'.$edit->numero->value." por $monto");	
			break;
        
		}
		

		IF($edit->_status!='show'){
			
			$data['title']   = heading("");
			$data['content'] = $edit->output;
			$this->load->view('view_ventanas', $data);
		}else{
							
				$mSQL="SELECT a.* FROM relacion as a  WHERE  itppro='$id'";
				$mSQL_1=$this->db->query($mSQL);
				$conten['result']=$mSQL_1->result();	
				$conten["form"]  =&  $edit;
				$data['content'] = $this->load->view('view_antip', $conten,true);
				$this->load->view('view_ventanas', $data);
			
		}	
		
	}
    function aplica($estado,$itppro){
        
		$this->rapyd->load('dataobject','datadetails');
        
        $do = new DataObject('itpprodl');
		$do->rel_one_to_many('itpprotdl', 'itpprotdl', 'id');
				
		$edit = new DataDetails('', $do);
        $edit->set_rel_title('itpprotdl','Cuenta <#o#>');
        
        $link=site_url('common/numegreso/');
		
		$script ='
		$(function() {
			$(".inputnum").numeric(".");
		});
		
		function numegreso(){
	
	seriei    = $("#serie").val();
	$.ajax({
		url: "'.$link.'"+"/"+seriei,
		success: function(msg){
			if(msg){
				$("#numero").val(msg);
			} else {
				alert("No es posible generar un numero");
			}
		}
	});
}
		';
        
        $modbus=array(
			'tabla'   =>'cpla',
			'columnas'=>array(
				'cuenta'  =>'Cuenta',
				'descrip' =>'Descripci&oacute;n',
				'ajuste'  => 'Llevar Ajuste',
				'contrapartida'  => 'Contrapartida',
				'clase'  => 'Clase',
				'costo'  => 'Costo',
				'tercero'  => 'Tercero',
				'extranjeria'  => 'Extranjeria'
				),
			'filtro'  =>array('cuenta'  =>'Cuenta','descrip'=>'Descripci&oacute;n'),
			'retornar'=>array(
				'cuenta' =>'cuenta_<#i#>',
				'descrip'=>'desca_<#i#>',
				),
			'p_uri'   => array(4=>'<#i#>'),
			'titulo'  => 'Buscar Cuenta'
		);
		
        $btn=$this->datasis->p_modbus($modbus,'<#i#>');
        
        if($edit->_status=='show'){
            $itppro=$edit->_dataobject->get("itppro");
        }

        if($itppro=='insert') $itppro=$estado;
        //echo $itppro;
        
        $edit->back_url = site_url("finanzas/antip/dataedit/show/$itppro");
                
        $serie=$this->datasis->dameval("SELECT serie FROM itppro WHERE id='$itppro'");
        $numero=$this->datasis->dameval("SELECT numero FROM itppro WHERE id='$itppro'");
        $condi1=$this->datasis->dameval("SELECT condi1 FROM itppro WHERE id='$itppro'");
        $proveed=$this->datasis->dameval("SELECT proveed FROM itppro WHERE id='$itppro'");
        $rif=$this->datasis->dameval("SELECT rif FROM itppro WHERE id='$itppro'");
        $moneda=$this->datasis->dameval("SELECT moneda FROM itppro WHERE id='$itppro'");  
                
		$ano=date("Y");
		$mes=date("m");
				
		$num=$this->datasis->dameval("SELECT RIGHT((numeroi+1),5)valor FROM gser WHERE YEAR(fecha)='$ano' AND MONTH(fecha)='$mes' AND seriei='010' AND comp='L' ORDER BY numeroi DESC LIMIT 1");
			
		$num=str_pad($num,5,'0', STR_PAD_LEFT);       
		if($num=='00000' OR $num==''){
			$num='00001';
		}
		
		$numerod=$ano.$mes.$num;      
                
        $this->db->query("DELETE FROM itpprotdl where id='$itppro' and importe=0");
        
        $edit->script($script, "create");
		$edit->script($script, "modify");
                
		$edit->post_process('insert','_post_insert2');
		$edit->pre_process('insert','_pre_insert2');
		
        $edit->id = new hiddenField(" ", 'id');
        $edit->transac = new hiddenField(" ", 'transac');
        $edit->itppro = new inputField(" ", 'itppro');
        $edit->itppro->insertValue="$itppro";
        $edit->itppro->size = 4;
        $edit->itppro->readonly  = true;
        
        $edit->moneda = new dropdownField("Moneda", "moneda");
		$edit->moneda->style='width:230px;';
		$edit->moneda->options("SELECT codigo,descrip FROM moneda ORDER BY codigo");
		$edit->moneda->rule = 'required';
		$edit->moneda->style='width:200px;'; 
		$edit->moneda->insertValue=$moneda;
		//$edit->moneda->when=array('show');
        
        $edit->seriel = new dropdownField('seriel', "seriel");
		$edit->seriel->option("010","L010");
		$edit->seriel->option("011","L011");
		$edit->seriel->style='width:80px;';
		$edit->seriel->onchange ='numgser(this.value)';
        
        $edit->numerol = new inputField("Numero", "numerol");
		//$edit->numerol->rule= "required";
		$edit->numerol->size = 12;
		$edit->numerol->insertValue="$numerod";
		
        $edit->fechal = new DateonlyField("Fecha de Comprobante", "fechal","Y-m-d");
		$edit->fechal->insertValue = date("Y-m-d");
        $edit->fechal->rule= "required";
		$edit->fechal->size = 10;
        $edit->fechal->rule= "callback_cambio";
        
		$edit->serie = new inputField("Comprobante", "serie");
		$edit->serie->rule= "required";
        $edit->serie->mode="autohide";
        $edit->serie->size = 5;
        $edit->serie->readonly  = true;
        $edit->serie->insertValue="$serie";
           
		$edit->numero = new inputField("N&uacute;mero", "numero");
		$edit->numero->size = 12;
        $edit->numero->css_class ='inputnum';
		$edit->numero->maxlength=12;
        $edit->numero->readonly  = true;
		$edit->numero->mode="autohide";
		$edit->numero->in="serie";
		$edit->numero->insertValue="$numero";
        
		$fechac=$this->datasis->dameval("SELECT cambio FROM cambio WHERE fecha=CURDATE()");
		$edit->cambio = new inputField("Cambio", 'cambio');
		$edit->cambio->css_class ='inputnum';
		$edit->cambio->size      = 12;
		$edit->cambio->onclick = "cfecha();";
		$edit->cambio->insertValue=$fechac;
        		    			        				    
        $edit->condi1 = new inputField('Observaci&oacute;n', 'condi1');
		$edit->condi1->size =60;
		$edit->condi1->maxlength=50;
		$edit->condi1->mode="autohide";
		$edit->condi1->rule = "required|strtoupper";
        $edit->condi1->insertValue="$condi1";
		
		$edit->monto = new inputField('Monto Aplicar', 'monto');
		$edit->monto->size = 10;
		$edit->monto->maxlength=15;
        $edit->monto->readonly  = true;
		$edit->monto->css_class ='inputnum';
	  
		$edit->usuario = new autoUpdateField('usuario',$this->session->userdata('usuario'),$this->session->userdata('usuario'));
           
        //**************************
		//  Campos para el detalle
		//**************************
                    
        $edit->idt = new inputField('Idt <#o#>', 'idt_<#i#>');
		$edit->idt->db_name='idt';
		$edit->idt->rel_id='itpprotdl';
		$edit->idt->rule = 'strtoupper';
		$edit->idt->size    = 35;
        //$edit->idt->when=array('show');
        
		$edit->docu = new dropdownField('Documento <#o#>', 'docu_<#i#>');
		$edit->docu->db_name  = 'docu';
		$edit->docu->options("SELECT codigo,descrip FROM tpagos");
		$edit->docu->rel_id   = 'itpprotdl';
		$edit->docu->style    = 'width:100%';
        
		$edit->cuenta = new inputField('Cuenta <#o#>', 'cuenta_<#i#>');
		$edit->cuenta->size     = 12;
		$edit->cuenta->maxlength= 10;
		$edit->cuenta->readonly  = true;
		$edit->cuenta->db_name  = 'cuenta';
		$edit->cuenta->rel_id   = 'itpprotdl';
        //$edit->cuenta->when=array('show');
		$edit->cuenta->append($btn);

		$edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
		$edit->desca->db_name='desca';
		$edit->desca->rel_id='itpprotdl';
		$edit->desca->rule = 'strtoupper';
		$edit->desca->size    = 35;
        //$edit->desca->when=array('show');
		
		$edit->ruc = new inputField('RUC <#o#>', 'ruc_<#i#>');
		$edit->ruc->db_name='ruc';
		$edit->ruc->rel_id='itpprotdl';
		$edit->ruc->rule = 'strtoupper';
		$edit->ruc->size    = 11;
		$edit->ruc->maxlength= 11;
        $edit->ruc->insertValue="$rif";
        //$edit->ruc->when=array('show');
		
		$edit->tipo = new dropdownField('Tipo <#o#>', 'tipo_<#i#>');
		$edit->tipo->db_name  = 'tipo';
		$edit->tipo->option("","");
		$edit->tipo->option("D","D");
		$edit->tipo->option("C","C");
		$edit->tipo->rel_id   = 'itpprotdl';
		$edit->tipo->rule     = 'positive';
		$edit->tipo->autocomplete=false;
		$edit->tipo->onchange ='importe(<#i#>)';
		$edit->tipo->style    = 'width:100%';
        //$edit->tipo->when=array('show');
		
		$edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>');
		$edit->importe->db_name='importe';
		$edit->importe->size=12;
		//$edit->importe->readonly=true;
        //$edit->importe->rule = 'required';
		$edit->importe->css_class='inputnum';
		$edit->importe->rel_id   ='itpprotdl';
		$edit->importe->onkeyup  ='importe(<#i#>)';
        //$edit->importe->when=array('show');
		
		$edit->creditos = new inputField('creditos <#o#>', 'creditos_<#i#>');
		$edit->creditos->db_name='creditos';
		$edit->creditos->size=12;
		$edit->creditos->css_class='inputnum';
		$edit->creditos->rel_id   ='itpprotdl';
		$edit->creditos->readonly=true;
		$edit->creditos->onkeyup  ='importe(<#i#>)';
        //$edit->creditos->when=array('show');
         
		$id=$edit->_dataobject->get("id");
		$itppro=$edit->_dataobject->get("itppro");
		$transac=$edit->_dataobject->get("transac");
        
        $edit->buttons('save','undo','back','add_rel');	
        $edit->build();               
            
        if($edit->_status!='show'){        
			$mSQL="SELECT totalg,abonos,impuesto,subtotal,cod_prv,nombre,tipo_doc as ttipo_doc,numero,factura,seriep,seriei,numeroi,proveed,transac as nntransac,fecha,monto,vence,moneda,CONCAT(tipo_doc,seriei,'-',numeroi) comproi FROM sprm  WHERE  monto > abonos  AND proveed='$proveed' AND  tipo_doc IN ('P','ND') ORDER BY monto DESC";
		}else{
			$mSQL="SELECT * FROM relacion WHERE transac='$transac'";
		}
		
		
        $mSQL_1=$this->db->query($mSQL);
        
        $data['style']   = style('redmond/jquery-ui-1.8.1.custom.css');
		$data['script']  = script('jquery.js');
		$data['script'] .= script('jquery-ui.js');
		$data['script'] .= script('plugins/jquery.numeric.pack.js');
		$data['script'] .= script('plugins/jquery.floatnumber.js');
		$data['script'] .= script('plugins/jquery.autocomplete.js');
		$data['script'] .= script('nformat.js');
        $data['title']   = heading("Aplicar Documento");
        $data['head']    = $this->rapyd->get_head();
        
        $conten["form"]  =&  $edit;
        $conten['result']=$mSQL_1->result();	
        $conten['cantmd']=$mSQL_1->num_rows();
        $data['content'] = $this->load->view('view_aplicap', $conten,true);
        $this->load->view('view_ventanas', $data);		
	}
    function aplicat($estado,$itppro){
        
		$this->rapyd->load('dataobject','datadetails');
        
        $do = new DataObject('itpprodl');
		$do->rel_one_to_many('itpprotdl', 'itpprotdl', 'id');
				
		$edit = new DataDetails('', $do);
        $edit->set_rel_title('itpprotdl','Cuenta <#o#>');
        
        $link=site_url('common/numegreso/');
		
		$script ='
		$(function() {
			$(".inputnum").numeric(".");
		});
		
		function numegreso(){
	
	seriei    = $("#serie").val();
	$.ajax({
		url: "'.$link.'"+"/"+seriei,
		success: function(msg){
			if(msg){
				$("#numero").val(msg);
			} else {
				alert("No es posible generar un numero");
			}
		}
	});
}
		';
        
        $modbus=array(
			'tabla'   =>'cpla',
			'columnas'=>array(
				'cuenta'  =>'Cuenta',
				'descrip' =>'Descripci&oacute;n',
				'ajuste'  => 'Llevar Ajuste',
				'contrapartida'  => 'Contrapartida',
				'clase'  => 'Clase',
				'costo'  => 'Costo',
				'tercero'  => 'Tercero',
				'extranjeria'  => 'Extranjeria'
				),
			'filtro'  =>array('cuenta'  =>'Cuenta','descrip'=>'Descripci&oacute;n'),
			'retornar'=>array(
				'cuenta' =>'cuenta_<#i#>',
				'descrip'=>'desca_<#i#>',
				),
			'p_uri'   => array(4=>'<#i#>'),
			'titulo'  => 'Buscar Cuenta'
		);
		
        $btn=$this->datasis->p_modbus($modbus,'<#i#>');
        
        if($edit->_status=='show'){
            $itppro=$edit->_dataobject->get("itppro");
        }

        if($itppro=='insert') $itppro=$estado;
        //echo $itppro;
        
        $edit->back_url = site_url("finanzas/antip/dataedit/show/$itppro");
                
        $serie=$this->datasis->dameval("SELECT serie FROM itppro WHERE id='$itppro'");
        $numero=$this->datasis->dameval("SELECT numero FROM itppro WHERE id='$itppro'");
        $condi1=$this->datasis->dameval("SELECT condi1 FROM itppro WHERE id='$itppro'");
        $proveed=$this->datasis->dameval("SELECT proveed FROM itppro WHERE id='$itppro'");
        $rif=$this->datasis->dameval("SELECT rif FROM itppro WHERE id='$itppro'");
        $moneda=$this->datasis->dameval("SELECT moneda FROM itppro WHERE id='$itppro'");  
                
		$ano=date("Y");
		$mes=date("m");
				
		$num=$this->datasis->dameval("SELECT RIGHT((numeroi+1),5)valor FROM gser WHERE YEAR(fecha)='$ano' AND MONTH(fecha)='$mes' AND seriei='010' AND comp='L' ORDER BY numeroi DESC LIMIT 1");
			
		$num=str_pad($num,5,'0', STR_PAD_LEFT);       
		if($num=='00000' OR $num==''){
			$num='00001';
		}
		
		$numerod=$ano.$mes.$num;      
                
        $this->db->query("DELETE FROM itpprotdl where id='$itppro' and importe=0");
        
        $edit->script($script, "create");
		$edit->script($script, "modify");
                
		$edit->post_process('insert','_post_insert2');
		$edit->pre_process('insert','_pre_insert2');
		
        $edit->id = new hiddenField(" ", 'id');
        $edit->transac = new hiddenField(" ", 'transac');
        //$edit->moneda = new inputField(" ", 'moneda');
        $edit->itppro = new inputField(" ", 'itppro');
        $edit->itppro->insertValue="$itppro";
        $edit->itppro->size = 4;
        $edit->itppro->readonly  = true;
        
        $edit->moneda = new dropdownField("Moneda", "moneda");
		$edit->moneda->style='width:230px;';
		$edit->moneda->options("SELECT codigo,descrip FROM moneda ORDER BY codigo");
		$edit->moneda->rule = 'required';
		$edit->moneda->style='width:200px;'; 
		$edit->moneda->insertValue=$moneda;
        
        $edit->seriel = new dropdownField('seriel', "seriel");
		$edit->seriel->option("010","L010");
		$edit->seriel->option("011","L011");
        $edit->seriel->option("008","L008");
		$edit->seriel->style='width:80px;';
		$edit->seriel->onchange ='numgser(this.value)';
        
        $edit->numerol = new inputField("Numero", "numerol");
		//$edit->numerol->rule= "required";
		$edit->numerol->size = 12;
		$edit->numerol->insertValue="$numerod";
		
        $edit->fechal = new DateonlyField("Fecha de Comprobante", "fechal","Y-m-d");
		$edit->fechal->insertValue = date("Y-m-d");
        $edit->fechal->rule= "required";
		$edit->fechal->size = 10;
        $edit->fechal->rule= "callback_cambio";
        
		$edit->serie = new inputField("Comprobante", "serie");
		$edit->serie->rule= "required";
        $edit->serie->mode="autohide";
        $edit->serie->size = 5;
        $edit->serie->readonly  = true;
        $edit->serie->insertValue="$serie";
           
		$edit->numero = new inputField("N&uacute;mero", "numero");
		$edit->numero->size = 12;
        $edit->numero->css_class ='inputnum';
		$edit->numero->maxlength=12;
        $edit->numero->readonly  = true;
		$edit->numero->mode="autohide";
		$edit->numero->in="serie";
		$edit->numero->insertValue="$numero";
        
		$fechac=$this->datasis->dameval("SELECT cambio FROM cambio WHERE fecha=CURDATE()");
		$edit->cambio = new inputField("Cambio", 'cambio');
		$edit->cambio->css_class ='inputnum';
		$edit->cambio->size      = 12;
		$edit->cambio->onclick = "cfecha();";
		$edit->cambio->insertValue=$fechac;
        		    			        				    
        $edit->condi1 = new inputField('Observaci&oacute;n', 'condi1');
		$edit->condi1->size =60;
		$edit->condi1->maxlength=50;
		$edit->condi1->mode="autohide";
		$edit->condi1->rule = "required|strtoupper";
        $edit->condi1->insertValue="$condi1";
		
		$edit->monto = new inputField('Monto Aplicar', 'monto');
		$edit->monto->size = 10;
		$edit->monto->maxlength=15;
        $edit->monto->readonly  = true;
		$edit->monto->css_class ='inputnum';
	  
		$edit->usuario = new autoUpdateField('usuario',$this->session->userdata('usuario'),$this->session->userdata('usuario'));
           
        //**************************
		//  Campos para el detalle
		//**************************
                    
        $edit->idt = new inputField('Idt <#o#>', 'idt_<#i#>');
		$edit->idt->db_name='idt';
		$edit->idt->rel_id='itpprotdl';
		$edit->idt->rule = 'strtoupper';
		$edit->idt->size    = 35;
        //$edit->idt->when=array('show');
        
		$edit->docu = new dropdownField('Documento <#o#>', 'docu_<#i#>');
		$edit->docu->db_name  = 'docu';
		$edit->docu->options("SELECT codigo,descrip FROM tpagos");
		$edit->docu->rel_id   = 'itpprotdl';
		$edit->docu->style    = 'width:100%';
        
		$edit->cuenta = new inputField('Cuenta <#o#>', 'cuenta_<#i#>');
		$edit->cuenta->size     = 12;
		$edit->cuenta->maxlength= 10;
		$edit->cuenta->readonly  = true;
		$edit->cuenta->db_name  = 'cuenta';
		$edit->cuenta->rel_id   = 'itpprotdl';
        //$edit->cuenta->when=array('show');
		$edit->cuenta->append($btn);

		$edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
		$edit->desca->db_name='desca';
		$edit->desca->rel_id='itpprotdl';
		$edit->desca->rule = 'strtoupper';
		$edit->desca->size    = 35;
        //$edit->desca->when=array('show');
		
		$edit->ruc = new inputField('RUC <#o#>', 'ruc_<#i#>');
		$edit->ruc->db_name='ruc';
		$edit->ruc->rel_id='itpprotdl';
		$edit->ruc->rule = 'strtoupper';
		$edit->ruc->size    = 11;
		$edit->ruc->maxlength= 11;
        $edit->ruc->insertValue="$rif";
        //$edit->ruc->when=array('show');
		
		$edit->tipo = new dropdownField('Tipo <#o#>', 'tipo_<#i#>');
		$edit->tipo->db_name  = 'tipo';
		$edit->tipo->option("","");
		$edit->tipo->option("D","D");
		$edit->tipo->option("C","C");
		$edit->tipo->rel_id   = 'itpprotdl';
		$edit->tipo->rule     = 'positive';
		$edit->tipo->autocomplete=false;
		$edit->tipo->onchange ='importe(<#i#>)';
		$edit->tipo->style    = 'width:100%';
        //$edit->tipo->when=array('show');
		
		$edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>');
		$edit->importe->db_name='importe';
		$edit->importe->size=12;
		//$edit->importe->readonly=true;
        //$edit->importe->rule = 'required';
		$edit->importe->css_class='inputnum';
		$edit->importe->rel_id   ='itpprotdl';
		$edit->importe->onkeyup  ='importe(<#i#>)';
        //$edit->importe->when=array('show');
		
		$edit->creditos = new inputField('creditos <#o#>', 'creditos_<#i#>');
		$edit->creditos->db_name='creditos';
		$edit->creditos->size=12;
		$edit->creditos->css_class='inputnum';
		$edit->creditos->rel_id   ='itpprotdl';
		$edit->creditos->readonly=true;
		$edit->creditos->onkeyup  ='importe(<#i#>)';
        //$edit->creditos->when=array('show');
         
		$id=$edit->_dataobject->get("id");
		$itppro=$edit->_dataobject->get("itppro");
		$transac=$edit->_dataobject->get("transac");
        
        $edit->buttons('save','undo','back','add_rel');	
        $edit->build();               
            
        if($edit->_status!='show'){        
			$mSQL="SELECT totalg,abonos,impuesto,subtotal,cod_prv,nombre,tipo_doc as ttipo_doc,numero,factura,seriep,seriei,numeroi,proveed,transac as nntransac,fecha,monto,vence,moneda,CONCAT(tipo_doc,seriei,'-',numeroi) comproi FROM sprm  WHERE  monto > abonos AND  tipo_doc IN ('P','ND') AND proveed NOT IN ('SAVAR','SAKJ','LOGIS') and CONCAT(tipo_doc,seriei)!='P003' and CONCAT(tipo_doc,seriei)!='P006' ORDER BY monto DESC";
		}else{
			$mSQL="SELECT * FROM relacion WHERE transac='$transac'";
		}
		
		
        $mSQL_1=$this->db->query($mSQL);
        
        $data['style']   = style('redmond/jquery-ui-1.8.1.custom.css');
		$data['script']  = script('jquery.js');
		$data['script'] .= script('jquery-ui.js');
		$data['script'] .= script('plugins/jquery.numeric.pack.js');
		$data['script'] .= script('plugins/jquery.floatnumber.js');
		$data['script'] .= script('plugins/jquery.autocomplete.js');
		$data['script'] .= script('nformat.js');
        $data['title']   = heading("Aplicar Documento");
        $data['head']    = $this->rapyd->get_head();
        
        $conten["form"]  =&  $edit;
        $conten['result']=$mSQL_1->result();	
        $conten['cantmd']=$mSQL_1->num_rows();
        $data['content'] = $this->load->view('view_aplicap', $conten,true);
        $this->load->view('view_ventanas', $data);		
	}
    function aplicach($estado,$itppro){
        
		$this->rapyd->load('dataobject','datadetails');
        
        $do = new DataObject('itpprodl');
		$do->rel_one_to_many('itpprotdl', 'itpprotdl', 'id');
				
		$edit = new DataDetails('', $do);
        $edit->set_rel_title('itpprotdl','Cuenta <#o#>');
        
        $link=site_url('common/numegreso/');
		
		$script ='
		$(function() {
			$(".inputnum").numeric(".");
		});
		
		function numegreso(){
	
	seriei    = $("#serie").val();
	$.ajax({
		url: "'.$link.'"+"/"+seriei,
		success: function(msg){
			if(msg){
				$("#numero").val(msg);
			} else {
				alert("No es posible generar un numero");
			}
		}
	});
}
		';
        
        $modbus=array(
			'tabla'   =>'cpla',
			'columnas'=>array(
				'cuenta'  =>'Cuenta',
				'descrip' =>'Descripci&oacute;n',
				'ajuste'  => 'Llevar Ajuste',
				'contrapartida'  => 'Contrapartida',
				'clase'  => 'Clase',
				'costo'  => 'Costo',
				'tercero'  => 'Tercero',
				'extranjeria'  => 'Extranjeria'
				),
			'filtro'  =>array('cuenta'  =>'Cuenta','descrip'=>'Descripci&oacute;n'),
			'retornar'=>array(
				'cuenta' =>'cuenta_<#i#>',
				'descrip'=>'desca_<#i#>',
				),
			'p_uri'   => array(4=>'<#i#>'),
			'titulo'  => 'Buscar Cuenta'
		);
		
        $btn=$this->datasis->p_modbus($modbus,'<#i#>');
        
        if($edit->_status=='show'){
            $itppro=$edit->_dataobject->get("itppro");
        }

        if($itppro=='insert') $itppro=$estado;
        //echo $itppro;
        
        $edit->back_url = site_url("finanzas/antip/dataedit/show/$itppro");
                
        $serie=$this->datasis->dameval("SELECT serie FROM itppro WHERE id='$itppro'");
        $numero=$this->datasis->dameval("SELECT numero FROM itppro WHERE id='$itppro'");
        $condi1=$this->datasis->dameval("SELECT condi1 FROM itppro WHERE id='$itppro'");
        $proveed=$this->datasis->dameval("SELECT proveed FROM itppro WHERE id='$itppro'");
        $rif=$this->datasis->dameval("SELECT rif FROM itppro WHERE id='$itppro'");
        $moneda=$this->datasis->dameval("SELECT moneda FROM itppro WHERE id='$itppro'");  
                
		$ano=date("Y");
		$mes=date("m");
				
		$num=$this->datasis->dameval("SELECT RIGHT((numeroi+1),5)valor FROM gser WHERE YEAR(fecha)='$ano' AND MONTH(fecha)='$mes' AND seriei='008' AND comp='L' ORDER BY numeroi DESC LIMIT 1");
			
		$num=str_pad($num,5,'0', STR_PAD_LEFT);       
		if($num=='00000' OR $num==''){
			$num='00001';
		}
		
		$numerod=$ano.$mes.$num;      
                
        $this->db->query("DELETE FROM itpprotdl where id='$itppro' and importe=0");
        
        $edit->script($script, "create");
		$edit->script($script, "modify");
                
		$edit->post_process('insert','_post_insert2');
		$edit->pre_process('insert','_pre_insert2');
		
        $edit->id = new hiddenField(" ", 'id');
        $edit->transac = new hiddenField(" ", 'transac');
        //$edit->moneda = new inputField(" ", 'moneda');
        $edit->itppro = new inputField(" ", 'itppro');
        $edit->itppro->insertValue="$itppro";
        $edit->itppro->size = 4;
        $edit->itppro->readonly  = true;
        
        $edit->moneda = new dropdownField("Moneda", "moneda");
		$edit->moneda->style='width:230px;';
		$edit->moneda->options("SELECT codigo,descrip FROM moneda ORDER BY codigo");
		$edit->moneda->rule = 'required';
		$edit->moneda->style='width:200px;'; 
		$edit->moneda->insertValue=$moneda;
        
        $edit->seriel = new dropdownField('seriel', "seriel");
		$edit->seriel->option("008","008");
		$edit->seriel->style='width:80px;';
		$edit->seriel->onchange ='numgser(this.value)';
        
        $edit->numerol = new inputField("Numero", "numerol");
		//$edit->numerol->rule= "required";
		$edit->numerol->size = 12;
		$edit->numerol->insertValue="$numerod";
		
        $edit->fechal = new DateonlyField("Fecha de Comprobante", "fechal","Y-m-d");
		$edit->fechal->insertValue = date("Y-m-d");
        $edit->fechal->rule= "required";
		$edit->fechal->size = 10;
        $edit->fechal->rule= "callback_cambio";
        
		$edit->serie = new inputField("Comprobante", "serie");
		$edit->serie->rule= "required";
        $edit->serie->mode="autohide";
        $edit->serie->size = 5;
        $edit->serie->readonly  = true;
        $edit->serie->insertValue="$serie";
           
		$edit->numero = new inputField("N&uacute;mero", "numero");
		$edit->numero->size = 12;
        $edit->numero->css_class ='inputnum';
		$edit->numero->maxlength=12;
        $edit->numero->readonly  = true;
		$edit->numero->mode="autohide";
		$edit->numero->in="serie";
		$edit->numero->insertValue="$numero";
        
		$fechac=$this->datasis->dameval("SELECT cambio FROM cambio WHERE fecha=CURDATE()");
		$edit->cambio = new inputField("Cambio", 'cambio');
		$edit->cambio->css_class ='inputnum';
		$edit->cambio->size      = 12;
		$edit->cambio->onclick = "cfecha();";
		$edit->cambio->insertValue=$fechac;
        		    			        				    
        $edit->condi1 = new inputField('Observaci&oacute;n', 'condi1');
		$edit->condi1->size =60;
		$edit->condi1->maxlength=50;
		$edit->condi1->mode="autohide";
		$edit->condi1->rule = "required|strtoupper";
        $edit->condi1->insertValue="$condi1";
		
		$edit->monto = new inputField('Monto Aplicar', 'monto');
		$edit->monto->size = 10;
		$edit->monto->maxlength=15;
        $edit->monto->readonly  = true;
		$edit->monto->css_class ='inputnum';
	  
		$edit->usuario = new autoUpdateField('usuario',$this->session->userdata('usuario'),$this->session->userdata('usuario'));
           
        //**************************
		//  Campos para el detalle
		//**************************
                    
        $edit->idt = new inputField('Idt <#o#>', 'idt_<#i#>');
		$edit->idt->db_name='idt';
		$edit->idt->rel_id='itpprotdl';
		$edit->idt->rule = 'strtoupper';
		$edit->idt->size    = 35;
        //$edit->idt->when=array('show');
        
		$edit->docu = new dropdownField('Documento <#o#>', 'docu_<#i#>');
		$edit->docu->db_name  = 'docu';
		$edit->docu->options("SELECT codigo,descrip FROM tpagos");
		$edit->docu->rel_id   = 'itpprotdl';
		$edit->docu->style    = 'width:100%';
        
		$edit->cuenta = new inputField('Cuenta <#o#>', 'cuenta_<#i#>');
		$edit->cuenta->size     = 12;
		$edit->cuenta->maxlength= 10;
		$edit->cuenta->readonly  = true;
		$edit->cuenta->db_name  = 'cuenta';
		$edit->cuenta->rel_id   = 'itpprotdl';
        //$edit->cuenta->when=array('show');
		$edit->cuenta->append($btn);

		$edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
		$edit->desca->db_name='desca';
		$edit->desca->rel_id='itpprotdl';
		$edit->desca->rule = 'strtoupper';
		$edit->desca->size    = 35;
        //$edit->desca->when=array('show');
		
		$edit->ruc = new inputField('RUC <#o#>', 'ruc_<#i#>');
		$edit->ruc->db_name='ruc';
		$edit->ruc->rel_id='itpprotdl';
		$edit->ruc->rule = 'strtoupper';
		$edit->ruc->size    = 11;
		$edit->ruc->maxlength= 11;
        $edit->ruc->insertValue="$rif";
        //$edit->ruc->when=array('show');
		
		$edit->tipo = new dropdownField('Tipo <#o#>', 'tipo_<#i#>');
		$edit->tipo->db_name  = 'tipo';
		$edit->tipo->option("","");
		$edit->tipo->option("D","D");
		$edit->tipo->option("C","C");
		$edit->tipo->rel_id   = 'itpprotdl';
		$edit->tipo->rule     = 'positive';
		$edit->tipo->autocomplete=false;
		$edit->tipo->onchange ='importe(<#i#>)';
		$edit->tipo->style    = 'width:100%';
        //$edit->tipo->when=array('show');
		
		$edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>');
		$edit->importe->db_name='importe';
		$edit->importe->size=12;
		//$edit->importe->readonly=true;
        //$edit->importe->rule = 'required';
		$edit->importe->css_class='inputnum';
		$edit->importe->rel_id   ='itpprotdl';
		$edit->importe->onkeyup  ='importe(<#i#>)';
        //$edit->importe->when=array('show');
		
		$edit->creditos = new inputField('creditos <#o#>', 'creditos_<#i#>');
		$edit->creditos->db_name='creditos';
		$edit->creditos->size=12;
		$edit->creditos->css_class='inputnum';
		$edit->creditos->rel_id   ='itpprotdl';
		$edit->creditos->readonly=true;
		$edit->creditos->onkeyup  ='importe(<#i#>)';
        //$edit->creditos->when=array('show');
         
		$id=$edit->_dataobject->get("id");
		$itppro=$edit->_dataobject->get("itppro");
		$transac=$edit->_dataobject->get("transac");
        
        $edit->buttons('save','undo','back','add_rel');	
        $edit->build();               
            
        if($edit->_status!='show'){        
			$mSQL="SELECT totalg,abonos,impuesto,subtotal,cod_prv,nombre,tipo_doc as ttipo_doc,numero,factura,seriep,seriei,numeroi,proveed,transac as nntransac,fecha,monto,vence,moneda,CONCAT(tipo_doc,seriei,'-',numeroi) comproi FROM sprm  WHERE  monto > abonos AND  cajachica='S' ORDER BY monto DESC";
		}else{
			$mSQL="SELECT * FROM relacion WHERE transac='$transac'";
		}
		
		
        $mSQL_1=$this->db->query($mSQL);
        
        $data['style']   = style('redmond/jquery-ui-1.8.1.custom.css');
		$data['script']  = script('jquery.js');
		$data['script'] .= script('jquery-ui.js');
		$data['script'] .= script('plugins/jquery.numeric.pack.js');
		$data['script'] .= script('plugins/jquery.floatnumber.js');
		$data['script'] .= script('plugins/jquery.autocomplete.js');
		$data['script'] .= script('nformat.js');
        $data['title']   = heading("Aplicar Documento");
        $data['head']    = $this->rapyd->get_head();
        
        $conten["form"]  =&  $edit;
        $conten['result']=$mSQL_1->result();	
        $conten['cantmd']=$mSQL_1->num_rows();
        $data['content'] = $this->load->view('view_aplicap', $conten,true);
        $this->load->view('view_ventanas', $data);		
	}
    function aplical($estado,$itppro){
        
		$this->rapyd->load('dataobject','datadetails');
        
        $do = new DataObject('itpprodl');
		$do->rel_one_to_many('itpprotdl', 'itpprotdl', 'id');
				
		$edit = new DataDetails('', $do);
        $edit->set_rel_title('itpprotdl','Cuenta <#o#>');
        
        $link=site_url('common/numegreso/');
		
		$script ='
		$(function() {
			$(".inputnum").numeric(".");
		});
		
		function numegreso(){
	
	seriei    = $("#serie").val();
	$.ajax({
		url: "'.$link.'"+"/"+seriei,
		success: function(msg){
			if(msg){
				$("#numero").val(msg);
			} else {
				alert("No es posible generar un numero");
			}
		}
	});
}
		';
        
        $modbus=array(
			'tabla'   =>'cpla',
			'columnas'=>array(
				'cuenta'  =>'Cuenta',
				'descrip' =>'Descripci&oacute;n',
				'ajuste'  => 'Llevar Ajuste',
				'contrapartida'  => 'Contrapartida',
				'clase'  => 'Clase',
				'costo'  => 'Costo',
				'tercero'  => 'Tercero',
				'extranjeria'  => 'Extranjeria'
				),
			'filtro'  =>array('cuenta'  =>'Cuenta','descrip'=>'Descripci&oacute;n'),
			'retornar'=>array(
				'cuenta' =>'cuenta_<#i#>',
				'descrip'=>'desca_<#i#>',
				),
			'p_uri'   => array(4=>'<#i#>'),
			'titulo'  => 'Buscar Cuenta'
		);
		
        $btn=$this->datasis->p_modbus($modbus,'<#i#>');
        
        if($edit->_status=='show'){
            $itppro=$edit->_dataobject->get("itppro");
        }

        if($itppro=='insert') $itppro=$estado;
        //echo $itppro;
        
        $edit->back_url = site_url("finanzas/antip/dataedit/show/$itppro");
                
        $serie=$this->datasis->dameval("SELECT serie FROM itppro WHERE id='$itppro'");
        $numero=$this->datasis->dameval("SELECT numero FROM itppro WHERE id='$itppro'");
        $condi1=$this->datasis->dameval("SELECT condi1 FROM itppro WHERE id='$itppro'");
        $proveed=$this->datasis->dameval("SELECT proveed FROM itppro WHERE id='$itppro'");
        $rif=$this->datasis->dameval("SELECT rif FROM itppro WHERE id='$itppro'");
        $moneda=$this->datasis->dameval("SELECT moneda FROM itppro WHERE id='$itppro'");  
                
		$ano=date("Y");
		$mes=date("m");
				
		$num=$this->datasis->dameval("SELECT RIGHT((numeroi+1),5)valor FROM gser WHERE YEAR(fecha)='$ano' AND MONTH(fecha)='$mes' AND seriei='010' AND comp='L' ORDER BY numeroi DESC LIMIT 1");
			
		$num=str_pad($num,5,'0', STR_PAD_LEFT);       
		if($num=='00000' OR $num==''){
			$num='00001';
		}
		
		$numerod=$ano.$mes.$num;      
                
        $this->db->query("DELETE FROM itpprotdl where id='$itppro' and importe=0");
        
        $edit->script($script, "create");
		$edit->script($script, "modify");
                
		$edit->post_process('insert','_post_insert2');
		$edit->pre_process('insert','_pre_insert2');
		
        $edit->id = new hiddenField(" ", 'id');
        $edit->transac = new hiddenField(" ", 'transac');
        $edit->itppro = new inputField(" ", 'itppro');
        $edit->itppro->insertValue="$itppro";
        $edit->itppro->size = 4;
        $edit->itppro->readonly  = true;
        
        $edit->moneda = new dropdownField("Moneda", "moneda");
		$edit->moneda->style='width:230px;';
		$edit->moneda->options("SELECT codigo,descrip FROM moneda ORDER BY codigo");
		$edit->moneda->rule = 'required';
		$edit->moneda->style='width:200px;'; 
		$edit->moneda->insertValue=$moneda;
		//$edit->moneda->when=array('show');
        
        $edit->seriel = new dropdownField('seriel', "seriel");
		$edit->seriel->option("010","L010");
		$edit->seriel->option("011","L011");
		$edit->seriel->style='width:80px;';
		$edit->seriel->onchange ='numgser(this.value)';
        
        $edit->numerol = new inputField("Numero", "numerol");
		//$edit->numerol->rule= "required";
		$edit->numerol->size = 12;
		$edit->numerol->insertValue="$numerod";
		
        $edit->fechal = new DateonlyField("Fecha de Comprobante", "fechal","Y-m-d");
		$edit->fechal->insertValue = date("Y-m-d");
        $edit->fechal->rule= "required";
		$edit->fechal->size = 10;
        $edit->fechal->rule= "callback_cambio";
        
		$edit->serie = new inputField("Comprobante", "serie");
		$edit->serie->rule= "required";
        $edit->serie->mode="autohide";
        $edit->serie->size = 5;
        $edit->serie->readonly  = true;
        $edit->serie->insertValue="$serie";
           
		$edit->numero = new inputField("N&uacute;mero", "numero");
		$edit->numero->size = 12;
        $edit->numero->css_class ='inputnum';
		$edit->numero->maxlength=12;
        $edit->numero->readonly  = true;
		$edit->numero->mode="autohide";
		$edit->numero->in="serie";
		$edit->numero->insertValue="$numero";
        
		$fechac=$this->datasis->dameval("SELECT cambio FROM cambio WHERE fecha=CURDATE()");
		$edit->cambio = new inputField("Cambio", 'cambio');
		$edit->cambio->css_class ='inputnum';
		$edit->cambio->size      = 12;
		$edit->cambio->onclick = "cfecha();";
		$edit->cambio->insertValue=$fechac;
        		    			        				    
        $edit->condi1 = new inputField('Observaci&oacute;n', 'condi1');
		$edit->condi1->size =60;
		$edit->condi1->maxlength=50;
		$edit->condi1->mode="autohide";
		$edit->condi1->rule = "required|strtoupper";
        $edit->condi1->insertValue="$condi1";
		
		$edit->monto = new inputField('Monto Aplicar', 'monto');
		$edit->monto->size = 10;
		$edit->monto->maxlength=15;
        $edit->monto->readonly  = true;
		$edit->monto->css_class ='inputnum';
	  
		$edit->usuario = new autoUpdateField('usuario',$this->session->userdata('usuario'),$this->session->userdata('usuario'));
           
        //**************************
		//  Campos para el detalle
		//**************************
                    
        $edit->idt = new inputField('Idt <#o#>', 'idt_<#i#>');
		$edit->idt->db_name='idt';
		$edit->idt->rel_id='itpprotdl';
		$edit->idt->rule = 'strtoupper';
		$edit->idt->size    = 35;
        //$edit->idt->when=array('show');
        
		$edit->docu = new dropdownField('Documento <#o#>', 'docu_<#i#>');
		$edit->docu->db_name  = 'docu';
		$edit->docu->options("SELECT codigo,descrip FROM tpagos");
		$edit->docu->rel_id   = 'itpprotdl';
		$edit->docu->style    = 'width:100%';
        
		$edit->cuenta = new inputField('Cuenta <#o#>', 'cuenta_<#i#>');
		$edit->cuenta->size     = 12;
		$edit->cuenta->maxlength= 10;
		$edit->cuenta->readonly  = true;
		$edit->cuenta->db_name  = 'cuenta';
		$edit->cuenta->rel_id   = 'itpprotdl';
        //$edit->cuenta->when=array('show');
		$edit->cuenta->append($btn);

		$edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
		$edit->desca->db_name='desca';
		$edit->desca->rel_id='itpprotdl';
		$edit->desca->rule = 'strtoupper';
		$edit->desca->size    = 35;
        //$edit->desca->when=array('show');
		
		$edit->ruc = new inputField('RUC <#o#>', 'ruc_<#i#>');
		$edit->ruc->db_name='ruc';
		$edit->ruc->rel_id='itpprotdl';
		$edit->ruc->rule = 'strtoupper';
		$edit->ruc->size    = 11;
		$edit->ruc->maxlength= 11;
        $edit->ruc->insertValue="$rif";
        //$edit->ruc->when=array('show');
		
		$edit->tipo = new dropdownField('Tipo <#o#>', 'tipo_<#i#>');
		$edit->tipo->db_name  = 'tipo';
		$edit->tipo->option("","");
		$edit->tipo->option("D","D");
		$edit->tipo->option("C","C");
		$edit->tipo->rel_id   = 'itpprotdl';
		$edit->tipo->rule     = 'positive';
		$edit->tipo->autocomplete=false;
		$edit->tipo->onchange ='importe(<#i#>)';
		$edit->tipo->style    = 'width:100%';
        //$edit->tipo->when=array('show');
		
		$edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>');
		$edit->importe->db_name='importe';
		$edit->importe->size=12;
		//$edit->importe->readonly=true;
        //$edit->importe->rule = 'required';
		$edit->importe->css_class='inputnum';
		$edit->importe->rel_id   ='itpprotdl';
		$edit->importe->onkeyup  ='importe(<#i#>)';
        //$edit->importe->when=array('show');
		
		$edit->creditos = new inputField('creditos <#o#>', 'creditos_<#i#>');
		$edit->creditos->db_name='creditos';
		$edit->creditos->size=12;
		$edit->creditos->css_class='inputnum';
		$edit->creditos->rel_id   ='itpprotdl';
		$edit->creditos->readonly=true;
		$edit->creditos->onkeyup  ='importe(<#i#>)';
        //$edit->creditos->when=array('show');
         
		$id=$edit->_dataobject->get("id");
		$itppro=$edit->_dataobject->get("itppro");
		$transac=$edit->_dataobject->get("transac");
        
        $edit->buttons('save','undo','back','add_rel');	
        $edit->build();               
            
		if($edit->_status!='show'){        
			$mSQL="SELECT totalg,abonos,impuesto,subtotal,cod_prv,nombre,tipo_doc as ttipo_doc,numero,factura,seriep,seriei,numeroi,proveed,transac as nntransac,fecha,monto,vence,moneda,CONCAT(tipo_doc,seriei,'-',numeroi) comproi FROM sprm  WHERE  monto > abonos AND  concat(tipo_doc,seriei)='L007' ORDER BY monto DESC";
		}else{
			$mSQL="SELECT * FROM relacion WHERE transac='$transac'";
		}
		
		
        $mSQL_1=$this->db->query($mSQL);
        
        $data['style']   = style('redmond/jquery-ui-1.8.1.custom.css');
		$data['script']  = script('jquery.js');
		$data['script'] .= script('jquery-ui.js');
		$data['script'] .= script('plugins/jquery.numeric.pack.js');
		$data['script'] .= script('plugins/jquery.floatnumber.js');
		$data['script'] .= script('plugins/jquery.autocomplete.js');
		$data['script'] .= script('nformat.js');
        $data['title']   = heading("Aplicar Documento");
        $data['head']    = $this->rapyd->get_head();
        
        $conten["form"]  =&  $edit;
        $conten['result']=$mSQL_1->result();	
        $conten['cantmd']=$mSQL_1->num_rows();
        $data['content'] = $this->load->view('view_aplicap', $conten,true);
        $this->load->view('view_ventanas', $data);		
	}
    function _pre_delete($do){
		
		
        $id=$do->get('id');
        
        //echo $id;
        $proveed =$do->get('proveed');
        $numero  =$do->get('numero');
        $tipo    =$do->get('tipo');
        
        $mSQL_1=$this->db->query("SELECT monto,cod_prv,numero,proveed,factura,serief FROM relacion WHERE itppro='$id'");
             
        foreach($mSQL_1->result() as $items ){
			
			//$abonos=$this->datasis->dameval("SELECT SUM(monto) FROM relacion WHERE cod_prv='$items->cod_prv' AND proveed='$items->proveed' AND factura='$items->factura'");
            
            $this->db->query("UPDATE sprm SET abonos=abonos-$items->monto WHERE cod_prv='$items->cod_prv' AND proveed='$items->proveed' AND numero='$items->factura' AND seriep='$items->serief'");
      
		}
        
        $mSQL_2=$this->db->query("DELETE FROM relacion WHERE itppro='$id'");
        $mSQL_3=$this->db->query("DELETE FROM bmov WHERE idabono='$id' AND clipro='P'");
        $mSQL_3=$this->db->query("DELETE FROM sprm WHERE transac='$id' AND tipo_doc='$tipo'");
            
		logusu('ITPPRO',"ADELANTO DE PAGO al proveedor $tipo $proveed numero $numero ELIMINADO");
	}
	function _insertsprm($id){
              
        //Seleciona datos de encabezado de factura
        
        $mSQL=$this->db->query("SELECT  tipo,  serie,  numero,  cuenta,  ccosto,  proveed,  nombre,  
        rif,  fecha,  monto,  aplica,  formap,  referen,  cambio,  moneda,  estampa,  cajachica,  
        detraccion,  usuario,  condi1,  id FROM itppro
        WHERE id='$id'");
              
        $row = $mSQL->row();
        
        $usuario =$this->session->userdata['usuario'];
                           			
		$mSQL_1=$this->db->query("INSERT INTO `sprm` (`cod_prv`, `nombre`, `tipo_doc`, `numero`, `fecha`, `subtotal`,`monto`,`transac`, `estampa`, `hora`, `usuario`,`factura`, `proveed`, `montodetra`, `totalg`,`seriep`,`seriei`,`moneda`,`cambio`,`numeroi`,`cajachica`,`vence`) 
		VALUES ('$row->proveed', '$row->nombre', 'AN', '$row->numero', '$row->fecha','$row->monto','$row->monto','$row->id',CURRENT_TIMESTAMP(),CURRENT_TIME(),'$usuario','$row->numero','$row->proveed','0','$row->monto','$row->serie','$row->serie','$row->moneda','$row->cambio','$row->numero','$row->cajachica','$row->fecha');");
				
    
    }
    function reintegro($estado,$id){
        
		$this->rapyd->load('dataedit');
        
		$script='
		<script type="text/javascript" >
			$(function(){
				$(".inputnum").numeric(".");
			});	
		</script>';
		
		
		$modbus_sprv=array(
			'tabla'   =>'scli',
			'columnas'=>array(
                'cliente' =>'C&oacute;digo cod_cli',
                'nombre'=>'Nombre',
                'rifci'=>'RIF'),
			'filtro'  =>array('cod_cli'=>'C&oacute;digo cod_cli','nombre'=>'Nombre'),
			'retornar'=>array(
                'cliente'=>'proveedc'),
                'p_uri'   => array(4=>'<#i#>'),
			'titulo'  =>'Buscar cod_cli');

		$boton=$this->datasis->p_modbus($modbus_sprv);
        
        $modbus=array(
			'tabla'   =>'cpla',
			'columnas'=>array(
				'cuenta'  =>'Cuenta',
				'descrip' =>'Descripci&oacute;n',
				'ajuste'  => 'Llevar Ajuste',
				'contrapartida'  => 'Contrapartida',
				'clase'  => 'Clase',
				'costo'  => 'Costo',
				'tercero'  => 'Tercero',
				'extranjeria'  => 'Extranjeria'
				),
			'filtro'  =>array('cuenta'  =>'Cuenta','descrip'=>'Descripci&oacute;n'),
			'retornar'=>array(
				'cuenta' =>'cuenta_rein'),
			'p_uri'   => array(4=>'<#i#>'),
			'titulo'  => 'Buscar Cuenta'
		);
		$btn=$this->datasis->p_modbus($modbus);
		
		$edit = new DataEdit(" ", "itppro");
        $edit->back_url = site_url("finanzas/antip/dataedit/show/$id");
                
		$edit->post_process('update','_post_update2');
		
		$edit->id = new hiddenField(" ", 'id');
		
		$edit->tipoe = new hiddenField(" ", 'tipoe');
		$edit->tipoe->db_name  = 'tipo';
		
		$edit->serie = new dropdownField("Comprobante", "serie");
		$edit->serie->options("SELECT codigo, CONCAT_WS('-',codigo,descrip) AS descrip FROM serieg ORDER BY codigo");
		$edit->serie->rule= "required";
        $edit->serie->style='width:200px;';
        $edit->serie->mode="autohide";

		$edit->numero = new inputField("N&uacute;mero", "numero");
		$edit->numero->size = 12;
		//$edit->numero->rule= "required";
        $edit->numero->css_class ='inputnum';
		$edit->numero->maxlength=11;
		$edit->numero->mode="autohide";
		$edit->numero->in="serie";
		$edit->numero->rule= "callback_chexiste";
		//$edit->numero->when=array('show','modify');
		
		$edit->proveed = new inputField("C&oacute;digo", "proveed");
		$edit->proveed->size = 7;
		$edit->proveed->maxlength=5;
        $edit->proveed->rule= "required";
        $edit->proveed->readonly  = true;
        $edit->proveed->mode="autohide";
		
		$edit->nombre = new inputField("Nombre", "nombre");
		$edit->nombre->size =  40;
		$edit->nombre->maxlength=80;
        $edit->nombre->readonly  = true;
        $edit->nombre->mode="autohide";
    
		$edit->rif = new inputField("RUC", "rif");
		$edit->rif->size =  20;
		$edit->rif->maxlength=20; 
        $edit->rif->readonly  = true;
        $edit->rif->mode="autohide";
        
        $edit->fecha = new DateonlyField("Fecha", "fecha","Y-m-d");
		$edit->fecha->insertValue = date("Y-m-d");
		$edit->fecha->mode="autohide";
        $edit->fecha->rule= "required";
		$edit->fecha->size = 10;
		$edit->fecha->rule= "callback_cambio";
		
        $edit->moneda = new dropdownField("Moneda", "moneda");
		$edit->moneda->style='width:230px;';
		$edit->moneda->option("","Seleccione la moneda" );
		$edit->moneda->options("SELECT codigo,descrip FROM moneda ORDER BY codigo");
		$edit->moneda->rule = 'required';
		$edit->moneda->when=array('show','modify');
		$edit->moneda->mode="autohide";
      
		$edit->cambio = new inputField('Cambio', 'cambio');
		$edit->cambio->when=array('show','modify');
		$edit->cambio->mode="autohide";

		$edit->referen = new inputField('N&uacute;mero de Operaci&oacute;n', 'referen');
		$edit->referen->css_class ='inputnum';
		$edit->referen->size      = 20; 
		$edit->referen->rule = 'required';
		$edit->referen->mode="autohide";
        				
		$edit->monto = new inputField('Monto de Anticipo', 'monto');
		$edit->monto->size = 10;
		$edit->monto->maxlength=15;
		$edit->monto->readonly  = true;
		$edit->monto->css_class ='inputnum';
		
		$edit->aplica = new inputField('Monto Aplicado', 'aplica');
		$edit->aplica->size = 10;
		$edit->aplica->maxlength=15;
		$edit->aplica->readonly  = true;
		$edit->aplica->css_class ='inputnum';
		        
        $monto=$edit->_dataobject->get("monto");
        $aplica=$edit->_dataobject->get("aplica");
        $rein=$monto-$aplica;
		
		$edit->rein = new inputField('Monto a Reintegrar', 'rein');
		$edit->rein->size = 10;
		$edit->rein->maxlength=15;
		$edit->rein->css_class ='inputnum';
        $edit->rein->append(' Monto Disponible '.$rein);
		$edit->rein->rule= "callback_rein";
        
        $edit->cuenta_rein = new inputField('Cuenta a Reintegrar', 'cuenta_rein');
		$edit->cuenta_rein->size     = 12;
		$edit->cuenta_rein->append($btn);
		$edit->cuenta_rein->rule = "required";
		
		$edit->proveedc = new inputField("Proveedor que debe reintegrar", "proveedc");
		$edit->proveedc->size = 12;
		$edit->proveedc->maxlength=5;
        $edit->proveedc->append($boton.' Se debe crear como CLIENTE');
        $edit->proveedc->rule= "required";
		
		$edit->usuario = new autoUpdateField('usuario',$this->session->userdata('usuario'),$this->session->userdata('usuario'));

        $edit->buttons('save','undo','back');	
        $edit->build();
        
        $data['content'] = $edit->output;
		$data['style']  = style('redmond/jquery-ui-1.8.1.custom.css');
		
		$data['script']  = script('jquery.js');
		$data['script'] .= script('jquery-ui.js');
		$data['script'] .= script('plugins/jquery.numeric.pack.js');
		$data['script'] .= script('plugins/jquery.floatnumber.js');
		$data['script'] .= script('plugins/jquery.autocomplete.js');
		$data['script'] .= script('nformat.js');
		$data["script"] .= $script;
		$data['head']    = $this->rapyd->get_head();
			
		$data['title']   = heading("Reintegro de Proveedor");
		$data['content'] = $edit->output;
		$this->load->view('view_ventanas', $data);
		
	}
	function _post_update2($do){
		
		$monto  =$do->get('monto');
		$aplica =$do->get('aplica');
		$rein   =$do->get('rein');
		$id     =$do->get('id');
		$rif    =$do->get('rif');
		$moneda =$do->get('moneda');
		$cambio =$do->get('cambio');
		$cod_clip    =$do->get('proveedc');
		$seriei      =$do->get('serie');
		$numeroi     =$do->get('numero');
        $cuenta_rein =$do->get('cuenta_rein');
				
		$ntransa =$this->datasis->fprox_numero('ntransa');
		$num     =$this->datasis->fprox_numero('nrein');
		$nrein   = substr($num,1,10);
		$usuario=$this->session->userdata['usuario'];
		$nombre=$this->datasis->dameval("SELECT nombre FROM scli WHERE cliente='$cod_clip'");
        $descc=$this->datasis->dameval("SELECT descrip FROM cpla WHERE cuenta='$cuenta_rein'");
		
		$this->db->query("UPDATE itppro SET aplica=$aplica+$rein WHERE id='$id'");
		
		$this->db->query("INSERT INTO itpagos (cuenta,  compro,  moneda,  serie,  numero,  transac,  tipo,  cod_cli,  monto, fecha,  vence,  dias,  observa,  usuario,  estampa,  abonado,  cambio,id_rein) values
		('$cuenta_rein','RI','$moneda','001','R$nrein','$ntransa','RI','$cod_clip','$rein',CURDATE(), CURDATE(),'1','REINTEGRO DE PROVEEDOR POR  G$seriei-$numeroi', '$usuario',CURRENT_TIMESTAMP(),'X','$cambio','$id')");
		
        //$this->db->query("INSERT INTO itpprot (id,cuenta,desca,tipo,ruc,importe)VALUES('$id','$cuenta_rein','REINTEGRO R$nrein $descc','D','$rif','$rein')");
		
        
		$this->db->query("INSERT INTO smov (moneda,tipo_doc,serie,numero,fecha,cod_cli,  nombre, monto ,  usuario,transac,vence)
                                            VALUES('$moneda','RI','001','R$nrein',CURDATE(),'$cod_clip','$nombre','$rein','$usuario','$ntransa',CURDATE())");   
   
		
		return true;
	
	}
	function rein(){
		
		$monto=$this->input->post('monto');
		$aplica =$this->input->post('aplica');
		$rein =$this->input->post('rein');			
		
		$tot=$aplica+$rein;
		$dis=$monto-$aplica;
		
		if ($tot>$monto){
			$this->validation->set_message('rein',"El monto que debe reintegrar $rein  es mayor al monto disponible $dis");
			return FALSE;
		}else {
		 return TRUE;
		}
	
	}
	function delete($anticipo,$ntransac){
		
		$query   =$this->db->query("SELECT id,proveed,serief,factura,monto,cod_prv FROM relacion WHERE transac='$ntransac'");
        $moneda  =$this->datasis->dameval("SELECT moneda FROM itppro WHERE id='$anticipo'");     
        $tipo_doc=$this->datasis->dameval("SELECT tipo FROM itppro WHERE id='$anticipo'"); 
        $idl=$this->datasis->dameval("SELECT id FROM itpprodl WHERE transac='$ntransac'");
        
        
        foreach($query->result() as $items ){
            
            $this->db->query("UPDATE sprm SET abonos=abonos-'$items->monto' WHERE cod_prv='$items->cod_prv' AND proveed='$items->proveed' AND factura='$items->factura' AND seriep='$items->serief'");
            $this->db->query("DELETE FROM relacion WHERE id='$items->id'");
		}
        
        
        $this->db->query("DELETE FROM gser WHERE transac='$ntransac'");
        $this->db->query("DELETE FROM gitser WHERE transac='$ntransac'");
        $this->db->query("DELETE FROM itpprot WHERE transacgser='$ntransac'");
        $this->db->query("DELETE FROM itpprotdl WHERE id='$idl'");
        $this->db->query("DELETE FROM itpprodl WHERE transac='$ntransac'");

               
        $elimina_bmov=$this->datasis->dameval("SELECT transac from itpagos where id_rein='$anticipo'");
        $this->db->query("DELETE FROM smov   WHERE transac='$elimina_bmov' and tipo_doc='RI'");
        $this->db->query("DELETE FROM itpagos WHERE id_rein='$anticipo'");
        
        
        if($moneda=='01'){
			 $t1=$this->datasis->dameval("SELECT SUM(cmontos) FROM relacion where itppro='$anticipo'");
		 }else{
			 $t1=$this->datasis->dameval("SELECT SUM(cmontod) FROM relacion where itppro='$anticipo'");
		 } 
		 $t2=$this->datasis->dameval("SELECT SUM(importe) FROM itpprot WHERE id='$anticipo' and tipo='D'");
		 $t3=$this->datasis->dameval("SELECT SUM(importe) FROM itpprot WHERE id='$anticipo' and tipo='C'");
		 
		 $t=$t1+$t2-$t3;           
         
         $this->db->query("UPDATE sprm   SET abonos=IF('$t'>0,'$t',0) WHERE transac='$anticipo' and tipo_doc='$tipo_doc'");
         $this->db->query("UPDATE itppro SET aplica='$t' WHERE id='$anticipo'");
		
		redirect("finanzas/antip/dataedit/show/$anticipo");
		
	}
	function _pre_insert($do){
		
		$fecha =$do->get('fecha');
		$serie =$do->get('serie');
		$numero=$do->get('numero');  
        $tipo=$do->get('tipo');  
			
		//actualiza al cambio segun fecha
        $cambio=$this->datasis->dameval("SELECT cambio FROM cambio WHERE fecha='$fecha'");
        $moneda=$this->datasis->dameval("SELECT moneda FROM bancos WHERE codigo='$serie'");
        $cuenta=$this->datasis->dameval("SELECT cuenta FROM bancos WHERE codigo='$serie'");
        
        $do->set('tipo',$tipo);
        $do->set('moneda',$moneda);
        $do->set('cambio',$cambio);
        $do->set('cuenta',$cuenta);
        $do->set('fechac',$fecha);
  
        logusu('itppro',"ANTICIPO  A PROVEEDOR $serie-$numero CREADO"); 
           			
		return true;
	}
	function chexiste($codigo){
		
		$numero=$this->input->post('numero');
		$serie =$this->input->post('serie');
		
		$numero =str_pad($numero, 11, "0", STR_PAD_LEFT);
		$serie  =str_pad($serie, 3, "0", STR_PAD_LEFT);
		
		$chek=$this->datasis->dameval("SELECT COUNT(*) FROM itppro WHERE serie='$serie' AND numero='$numero'");
		
		$chek2=$this->datasis->dameval("SELECT COUNT(*) FROM bmov  WHERE banco='$serie' AND clipro='P' AND numero='$numero'");
		
		if (($chek > 0)||($chek2>0)){
			$this->validation->set_message('chexiste',"El numero de comprobante $numero ya se encuetra registrado en pago a proveedores o movimientos de bancos");
			return FALSE;
		}else {
		 return TRUE;
		}
		
	}
	function _post_insert($do){
		
		$serie =$do->get('serie');
		$numero =$do->get('numero');
		$fecha =$do->get('fecha');
		$id =$do->get('id');
		$proveed=$do->get('proveed');
        $monto=$do->get('monto');
        $referen=$do->get('referen');
        $fecha=$do->get('fecha');
        $condi1=$do->get('condi1');
        $formap=$do->get('formap');
        $cajachica=$do->get('cajachica');
        $detraccion=$do->get('detraccion');
        $moneda=$do->get('moneda');
        $usuario=$this->session->userdata['usuario'];
				
		$cajero=1;
            
        //insertar registro en movimientos de bancos bancos
            
        $mSQL=$this->db->query("INSERT INTO bmov(banco,numero,formap,referencia,monto,fecha,observacion,cajero,idabono,recepcion,usuario,clipro)
                                         VALUES('$serie','$numero','$formap','$referen','$monto','$fecha','$condi1','$cajero','$id','$fecha','$usuario','P')");
                 
        $this->_insertsprm($id);
    
		return true;
	} 
	function _pre_insert2($do){
		
		$monto    =$do->get('monto');
		$itppro   =$do->get('itppro');
        $cambio   =$do->get('cambio');
        $moneda   =$do->get('moneda');
                		
		$ntransac=$this->datasis->fprox_numero('ntransa');
		$do->set('transac',$ntransac);
        		
		$fechac  = $this->input->post('fechal');
        $numeroc = $this->input->post('numerol');
        $seriel  = $this->input->post('seriel');
        $cant    = $this->input->post('cant');

        $chek=$this->datasis->dameval("SELECT COUNT(*) FROM gser WHERE comp='L' AND seriei='$seriel' AND numeroi='$numeroc'");
		$chek2=$this->datasis->dameval("SELECT COUNT(*) FROM cambio WHERE fecha='$fechac'");
		
		if($chek>0){
			echo "<span style='color:red' align='center'>Comprobante $numeroc registrado</span>";
			$this->validation->set_message('_pre_update',"Comprobante $numeroc registrado");
			return FALSE;		
		}
	
        $tsoles  = $this->input->post('smonto');
        $tdolar  = $this->input->post('monto');
              
        if ($tdolar==0){
			echo "<span style='color:red' align='center'>Debe ingresar una cantidad mayor a 0,00</span>";
			$this->validation->set_message('pre_insert',"Error al ingresar informacion , debe registrar un pago mayor a 0,00");
			return FALSE;
		}else {
			
			IF($moneda=='01'){
                $monto=$tsoles;
            }else{
                $monto=$tdolar;
            }
			$do->set('monto',$monto);
			return TRUE;
		}
        
	
	}
	function _post_insert2($do){
		
		$id =$do->get('itppro');
		$itpprodl =$do->get('id');
        $ntransac=$do->get('transac');
        $numero =$do->get('numero');
        $numeroc=$do->get('numerol');
		$serie  =$do->get('serie');
		$seriel =$do->get('seriel');
		$fechac =$do->get('fechal');
		$monto  =$do->get('monto');
        $cambio =$do->get('cambio');
        $moneda =$do->get('moneda');
        
		//$moneda     =$this->datasis->dameval("SELECT moneda FROM itppro WHERE id='$id'");
		$proveed    =$this->datasis->dameval("SELECT proveed FROM itppro WHERE id='$id'");
		$cuenta_ori =$this->datasis->dameval("SELECT cuenta_ori FROM itppro WHERE id='$id'");
		$nombre     =$this->datasis->dameval("SELECT nombre FROM itppro WHERE id='$id'");
		$rif        =$this->datasis->dameval("SELECT rif FROM itppro WHERE id='$id'");
        $tipo       =$this->datasis->dameval("SELECT tipo FROM itppro WHERE id='$id'");	
                			
        $pago      =$this->input->post('pago');
        $transac   =$this->input->post('nntransac'); 
        $compro    =$this->input->post('ttipo_doc'); 
        $cant      =$this->input->post('cant'); 
        $cmontos   = $this->input->post('cmontos');
        $cmontod   = $this->input->post('cmontod');
                          		
		//echo $cant;
		$i=$o=$totalg=0;
		
		while($o<$cant){
			
			//echo 'items:'.$o;	
			
			$array=array('1'=>$pago[$i],
						 '2'=>$compro[$i],
						 '3'=>$transac[$i],
						 '4'=>$cmontos[$i],
                         '5'=>$cmontod[$i]);
                                
            
            IF($pago[$i]>0){
                
                $mSQL=$this->db->query("SELECT proveed,cod_prv,factura,seriep,numero FROM sprm WHERE tipo_doc='$compro[$i]' AND transac='$transac[$i]'");
                $row=$mSQL->row();
                
                $factura   =$row->factura;
                $serief    =$row->seriep;
                $proveedor =$row->proveed;
                $cod_prv   =$row->cod_prv;
                $numerof   =$row->numero;
                
				$mSQL_1=$this->db->query("INSERT INTO relacion (tipo,numero,serie,factura,serief,proveed,cod_prv,monto,itppro,tipod,numerod,transac,fecha,cmontos,cmontod)VALUES('AN','$numero','$serie','$factura','$serief','$proveedor','$cod_prv','$pago[$i]','$id','L','$numeroc','$ntransac','$fechac','$cmontos[$i]','$cmontod[$i]');");
				$cuenta=$this->datasis->dameval("SELECT cuenta FROM gser WHERE transac='$transac[$i]'");
				IF(empty($cuenta)){
					$cuenta=$this->datasis->dameval("SELECT cuenta FROM scst WHERE transac='$transac[$i]'");
				}
                $rrif=$this->datasis->dameval("SELECT rif FROM sprv WHERE proveed='$proveedor'");
                $desca=$this->datasis->dameval("SELECT IF(tipo_doc='L',CONCAT('LETRA ',seriep,'-',numero),CONCAT('FACTURA ',seriep,'-',numero))desca FROM sprm WHERE transac='$transac[$i]'");
                
                if($moneda=='01'){$importe=$cmontos[$i];}else{$importe=$cmontod[$i];}
                $this->db->query("INSERT INTO gitser (fecha,transac,proveed,ruc,cuenta,desca,cana,preca,iva,importe,tipo,vexento,estampa,exento,serief,factura,tipoc) VALUES('$fechac','$ntransac','$proveedor','$rrif','$cuenta','$desca','1','$importe','0','$importe','D','S',CURRENT_TIMESTAMP,'$importe','$serief','$factura','$compro[$i]')");
                
                
                $abonos=$this->datasis->dameval("SELECT SUM(monto) FROM relacion WHERE proveed='$proveedor'  AND serief='$serief' AND factura='$factura'");
                $this->db->query("UPDATE sprm SET abonos='$abonos',ultiabonado='$pago[$i]' WHERE cod_prv='$cod_prv' and proveed='$proveedor'  AND seriep='$serief' AND factura='$factura'");
            
			}
			       
            $i++;
			$o++;
		}
		
		 $this->db->query("DELETE FROM itpprotdl where id='$itpprodl' and importe=0");
		 $mSQL=$this->db->query("SELECT id,idt,cuenta,desca,tipo,ruc,importe,creditos,docu FROM itpprotdl WHERE id='$itpprodl'");
		 
		 foreach($mSQL->result() as $items){
			 
			 $desca=$this->datasis->dameval("SELECT descrip FROM cpla WHERE cuenta='$items->cuenta'");
			 
			 $this->db->query("INSERT INTO itpprot (docu,transacgser,id, cuenta, desca, tipo, ruc, importe, creditos)VALUES('$items->docu','$ntransac','$id', '$items->cuenta', '$items->desca', '$items->tipo', '$items->ruc', '$items->importe', '$items->creditos')");
			 $this->db->query("INSERT INTO gitser  (fecha,transac,proveed,ruc,cuenta,desca,cana,preca,iva,importe,tipo,vexento,estampa,exento)VALUES('$fechac','$ntransac','$proveed','$rif','$items->cuenta','$desca','1','$items->importe','0','$items->importe','$items->tipo','S',CURRENT_TIMESTAMP,'$items->importe')");
		
		 }
        
         if($moneda=='01'){
			 $t1=$this->datasis->dameval("SELECT SUM(cmontos) FROM relacion where itppro='$id'");
		 }else{
			 $t1=$this->datasis->dameval("SELECT SUM(cmontod) FROM relacion where itppro='$id'");
		 } 
		 $t2=$this->datasis->dameval("SELECT SUM(importe) FROM itpprot WHERE id='$id' and tipo='D'");
		 $t3=$this->datasis->dameval("SELECT SUM(importe) FROM itpprot WHERE id='$id' and tipo='C'");
		 
		 $t=$t1+$t2-$t3;      
         
         $this->db->query("UPDATE sprm   SET abonos='$t' WHERE transac='$id' and tipo_doc='AN'");
         $this->db->query("UPDATE itppro SET aplica='$t' WHERE id='$id'");

         $usuario =$this->session->userdata['usuario'];
         
        switch ($tipo){
                        
            case 'AN':
                $obs="ANTICIPO PROVEEDOR  $numero APLICADO A FACTURAS";
                break;
                
            case 'AP':
                $obs="ADELANTO DE PLANILLA  $numero APLICADO A FACTURAS";
                break;
                
            case 'EC':
                $obs="ENTREGAS A RENDIR  $numero APLICADO A FACTURAS";	
                break;
            
            case 'PP':
                $obs="PRESTAMO PERSONAL  $numero APLICADO A FACTURAS";
                break;
                
            case 'CH':
                $obs="CAJA CHICA  $numero APLICADO A FACTURAS";
                break;
            
        }
         
			
	    $timporte1=$this->datasis->dameval("SELECT sum(importe) FROM gitser where transac='$ntransac' AND tipo='D'");
	    $timporte2=$this->datasis->dameval("SELECT sum(importe) FROM gitser where transac='$ntransac' AND tipo='C'");
	    
	    $timporte=$timporte1-$timporte2;
        
        $this->db->query("INSERT INTO gser (fecha,recepcion,transac,cuenta,comp,seriei,numeroi,seriep,numero,ccosto,formap,proveed,rif,nombre,vence,cambio,moneda,tipo_doc,condi1,usuario,estampa,cajachica) VALUES 
                                         ('$fechac','$fechac','$ntransac','$cuenta_ori','L','$seriel','$numeroc','$seriel','$numeroc','0001','0000','$proveed','$rif','$nombre','$fechac','$cambio','$moneda','FC','$obs','$usuario',CURRENT_TIMESTAMP,'N')");
         
         
         
        $this->db->query("INSERT INTO gitser (fecha,transac,proveed,ruc,cuenta,desca,cana,preca,iva,importe,tipo,vexento,estampa,exento,serief,factura,tipoc) VALUES('$fechac','$ntransac','$proveed','$rif','$cuenta_ori','$obs','1','$timporte','0','$timporte','C','S',CURRENT_TIMESTAMP,'$timporte','$serie','$numero','$tipo')");
            
        
        //crear CXC y CXP
        
        //$mSQL_D=$this->db->query("SELECT * FROM itpprot WHERE id='$id' AND docu='RI'");
        $usuario=$this->session->userdata['usuario'];
        
       // foreach($mSQL_D->result() as $items ){
               		
            $falta=$this->datasis->dameval("select monto-aplica from itppro where id='$id'");
            
            if($falta>0){
				
			$ntransa =$this->datasis->fprox_numero('ntransa');
            $num     =$this->datasis->fprox_numero('nrein');
            $nrein   = substr($num,1,10);
            	
            $this->db->query("INSERT INTO itpagos (cuenta,  compro,  moneda,  serie,  numero,  transac,  tipo,  cod_cli,  monto, fecha,  vence,  dias,  observa,  usuario,  estampa,  abonado,  cambio,id_rein) values
            ('$cuenta_ori','RI','$moneda','001','R$nrein','$ntransa','RI','$proveed','$falta',$fechac, $fechac,'1','REINTEGRO DE PROVEEDOR POR  L$seriel-$numeroc', '$usuario',CURRENT_TIMESTAMP(),'X','$cambio','$id')");
             
            
            $this->db->query("INSERT INTO smov (moneda,tipo_doc,serie,numero,fecha,cod_cli,  nombre, monto ,  usuario,transac,vence)
                                                VALUES('$moneda','RI','001','R$nrein',$fechac,'$proveed','$nombre','$falta','$usuario','$ntransa',CURDATE())");   
            }
        //}
         
        $mSQL_R=$this->db->query("SELECT * FROM itpprot WHERE id='$id' AND docu='RE'");
        
         foreach($mSQL_R->result() as $items ){
			 
			$ntransa =$this->datasis->fprox_numero('ntransa');
            $num     =$this->datasis->fprox_numero('nrem');
            $nrein   = substr($num,1,10);
               
			$this->db->query("INSERT INTO sprm (cod_prv,  nombre,  tipo_doc,  numero,  factura,  seriep,  seriei,  numeroi,  proveed,  transac,  fecha,  subtotal,   monto,   totalg,  vence, usuario,  cajachica, moneda,  cambio,observa1,estampa,hora,id_rein) values
			('$proveed','$nombre', 'RE',  'R$nrein',  'R$nrein',  '001',  '001',  'R$nrein',  '$proveed',  '$ntransa',  CURDATE(),  '$items->importe', '$items->importe', '$items->importe', CURDATE(),'$usuario', 'N', '$moneda', '$cambio','REMBOLSO A PROVEEDOR POR L$seriel-$numeroc',CURRENT_TIMESTAMP(),CURRENT_TIME(),'$id')");
	
            
        }
	
	}		 
}
